#include <fstream>
using namespace std;

namespace noria { namespace io { namespace sshfs {

	class FileImpl final
	{
	public:
		void OpenRead(const char* file, const char* encoding/* = "utf-8"*/)
		{
			m_fs.open(file, ios_base::in);
		}
		void OpenWrite(const char* file, const char* encoding/* = "utf-8"*/, bool append/* = false*/)
		{
			m_fs.open(file);
		}
		void Close()
		{
			m_fs.close();
		}
		FileImpl* operator<<(const char* val)
		{
			m_fs << val;
			return this;
		}
		FileImpl* operator<<(const wchar_t* val)
		{
			m_fs << val;
			return this;
		}
		FileImpl* operator<<(int val)
		{
			m_fs << val;
			return this;
		}
	private:
		fstream m_fs;
	};
}}}